There are a number of software frameworks available in which various applications can be run. A typical configuration may be a hardware platform with a software framework operating on top of the hardware. Further, it is typical to have applications that runs on top of the software framework, or services that runs as a part of the software framework. Software framework may also be referred to as software platform, software environment, software execution environment, application framework, or operating system. There are a number of proprietary software frameworks supporting this concept, and also an increasing number of open or standardized software frameworks. Further, it becomes more common to have another software framework that runs on top of the first software framework. It is possible to have a plurality of software frameworks on top of each other, or running alongside the first software framework.
There are a number of advantages with software frameworks combined in layers or running alongside. A certain software framework may be suitable for a specific hardware platform, or adapted for a specific processor/central processing unit. Another software framework may be preferable for a certain kind of services or user applications. Another software framework may be preferable because of simplicity or robustness to program applications for it.
For extraction of benefits of the applications operating on a software framework, the applications may need to communicate with other applications, other units connected to the hardware platform, or other nodes accessible via a network. An example is an application for control of a multimedia playing device. The control application need to be able to communicate with the multimedia playing device in order to control it, and the multimedia playing device may be retrieving the content from a storage application. Another example is a home automation application for control of climate and surveillance. Such an application may need to be capable to read a number of different sensors, influence various actuators, and potentially transmit alarm messages at, e.g. an intrusion in a home or a broken heating system in the middle of the winter.
A continuation of the above example is where it is desired that the multimedia solution and the home automation/surveillance solution coexist on a common hardware platform and software framework. Further the multimedia solution and the home automation/surveillance solution may partially share some of the resources.
A problem today is to control which application that should be able to communicate with other applications. Another problem is how one application should be able to communicate with another application, i.e. what permissions and restrictions should be applied to a communication. Another problem is where two software frameworks may be operated on the same physical unit with one software framework in the bottom and one software framework operating in the other one, with applications running on each software framework. Another problem today is how to remotely manage control of the communication between two applications, the two applications not running on the same software framework. Another problem today is how to make changes in a running system without restarting the system, changes which may influence the control of or settings for the communication between two applications, the two applications not running on the same software framework.